package com.wrx.constants.mndata;

/**
 * @date: 2018/12/10
 * @description: 常量
 */
public final class MnDataConstants {

    private MnDataConstants() {}

    /**
     * 采集数据表相关 SQL 模板
     */
    public static final class TABLE_RAW_DATA {
        private TABLE_RAW_DATA() {}

        /**
         * 插入采集数据表SQL头部模板（包含id，用于批量插入）
         * 占位符顺序：dataBaseName, tableName
         */
        public static final String INSERT_HEADER_WITH_ID = "INSERT INTO %s.%s (`id`, `collect_time`, `raw_data`, `create_time`, `creator`, `update_time`, `updater`, `deleted`, `tenant_id`) VALUES ";

        /**
         * 插入采集数据表SQL头部模板（不包含id，用于批量插入）
         * 占位符顺序：dataBaseName, tableName
         */
        public static final String INSERT_HEADER_NO_ID = "INSERT INTO %s.%s (`collect_time`, `raw_data`, `create_time`, `creator`, `update_time`, `updater`, `deleted`, `tenant_id`) VALUES ";

        /**
         * 插入采集数据表完整值模板（包含id）
         * 占位符顺序：id, collectTime, rawData, tenantId
         */
        public static final String VALUE_WITH_ID = "(%d, '%s', '%s', '2025-09-27 03:00:10', '模拟数据', '2025-09-27 03:00:10', NULL, b'0', %d)";

        /**
         * 插入采集数据表完整值模板（不包含id）
         * 占位符顺序：collectTime, rawData, tenantId
         */
        public static final String VALUE_NO_ID = "('%s', '%s', '2025-09-27 03:00:10', '模拟数据', '2025-09-27 03:00:10', NULL, b'0', %d)";
    }

    /**
     * 点位表相关 SQL 模板
     */
    public static final class TABLE_POINT_CODE {
        private TABLE_POINT_CODE() {}

        /**
         * 插入点位表SQL头部模板（用于批量插入）
         * 占位符顺序：dataBaseName, tableName
         */
        public static final String INSERT_HEADER = "INSERT INTO %s.%s (`point_code`, `point_name`, `point_unit`, `iot_device_id`, `iot_point_id`, `is_write`, `create_time`, `creator`, `update_time`, `updater`, `deleted`, `tenant_id`) VALUES ";

        /**
         * 插入点位表完整值模板
         * 占位符顺序：pointCode, pointName, pointUnit, pointCode(用于生成iotPointId), tenantId
         */
        public static final String VALUE_TEMPLATE = "('%s', '%s', '%s', 'test_iot_device_id', 'test_iot_point_id_%s', '0', NULL, '模拟数据', NULL, NULL, b'0', %s)";
    }
}
